In a typical router platform, there are one or more control cards and multiple line cards. These router platforms are used to manage subscriber sessions. A subscriber session is a communications session between two endpoints such as a mobile device or computing device. A subscriber session is managed by the router platform using two entities, a control plane entity and a data plane entity. The control plane entity is implemented in a control card. The data plane entity is implemented in a line card. The control plane entity is set up first and is invoked by application-specific protocol signaling messages from the endpoints. The control plane entity can perform functions including user authentication, authorization, accounting and user address allocation. The data plane entity is set up at a line card or across line cards and services data packets from subscriber sessions that are assigned or provision to it by the control plane. These services can include routing the subscriber session, quality of service enforcement, access control list implementation, packet filtering and packet counting. Subscriber sessions are typically provisioned to a line card in the sequence that they are set up by the control card.
Router platforms can serve as Packet Data Network gateways (PGWs), serving gateways (SGWs), or combined gateways (PGW and SGW) for evolved packet systems (EPSs). Subscriber sessions can be created for mobile users or “user equipment.” These subscriber sessions are normally in one of two states, idle or active. When a subscriber session is idle, there is no radio traffic channel allocated for the user equipment and there is no uplink traffic from the user equipment. When a subscriber session is active, there is either radio traffic channel allocated to the user equipment or there is uplink traffic from the user equipment.
Subscriber sessions are distributed to all line cards in a router platform by a load balancing algorithm. Load balancing algorithms attempt to evenly distribute a load across all available line cards. If a line card is lost due to a software failure or a hardware failure of the line card, all sessions on the lost card must be redistributed or reprovisioned to other active line cards or the services provided to the subscriber sessions assigned to these cards are lost. Line cards typically service a large number of subscriber sessions.
In response to detection of a lost line card, the control card is responsible for handling this event. The control card may do nothing, in which case all subscriber sessions are lost, requiring that the user equipment reinitiate the connection which would then be provisioned to a new, different line card. In other cases, a control card tends to redistribute and reprovision the subscriber sessions to remaining active line cards. However, this is done by either a random order or based on a time sequence associated with the subscriber sessions (e.g., the time each subscriber session was established).
Similarly, if a control card detects a new line card, the control card either responds to this event by only including the new line card in the provisioning process and load-balancing process for new subscriber sessions or the control card attempts to redistribute subscriber sessions from active line cards to the new line cards, but this results in packet loss for the moved subscriber sessions.